名称:TCP发送

符号:TCP_SEND

说明:

    服务器与客户端之间成功建立连接后,本机使用TCP_Send指令将缓存中的数据按照指定的长度发送给远程主机。数据大小(LENGTH)参数必须小于或等于数据缓存(DATA参数)的实际大小,否则存在数据访问越界的风险。

图片:

参数:

参数名称 数据类型 IN/OUT 参数作用 说明
EXECUTE BOOL IN 功能块触发
上升沿执行
SOCKFD DINT IN 套接字
服务器或客户端套接字
DATA REF_TO BYTE IN 数据首地址
待发送数据块首地址(不可为空/NULL)
LENGTH WORD IN 数据长度
数据长度:1-1400,不可超过DATA实际大小
BUSY BOOL OUT 执行中
TRUE:执行中
DONE BOOL OUT 成功标志
TRUE:执行完成
ERROR BOOL OUT 出错标志
TRUE:执行出错
ERRORID WORD OUT 错误码
0:正常;其它:错误码值

错误码:

错误码 说明
0
无错误
4002H
套接字号不是允许的范围
4004H
套接字没有连接
400DH
发送数据过长

示例:

LD:

ST:



解释:

     当“ExecuteSend1”操作数的信号状态从“0”变为“1”时,执行该指令,把"DataSend_Client1"数组里的"10"个字节数发送出去。每检测到一个信号上升沿,就执行一次发送。
当正在执行发送的时候,“ISBUSY_Client1”输出的信号状态就为“1”,成功执行完毕之后,“DONE_Client1”输出的信号状态就为“1”,当执行有错误的时候,输出“ISERROR_Client1”的信号状态为“1”,且“ERRORID_Client1”输出具体的错误码。